1. Field of the Invention
The present invention relates to an apparatus and method for processing a stateful address auto-configuration protocol in an Internet Protocol version 6 (IPv6) network. More particularly, the present invention relates to an apparatus and method for processing a stateful address configuration protocol in an IPv6 network wherein, resources of the IPv6 host and loads on a network may be efficiently controlled by determining an operation mode of a Dynamic Host Configuration Protocol-for-IPv6 (DHCPv6) client according to an address assignment protocol.
2. Description of the Related Art
The Internet Protocol version 4 (IPv4) currently exhausts its IP addresses due to an increasing number of network subscribers. The Internet Protocol version 6 (IPv6) was developed in order to overcome the address exhaustion and other drawbacks of the IPv4.
In general, the IPv4 is a 32-bit address system consisting of 4.2 billion IP addresses whereas the IPv6 is a 128-bit address system consisting of 3.4×1038 addresses. Thus, the IPv6 can support more subscribers than the IPv4.
Since the IPv6 has a 128-bit address length, the IPv6 can support increased growth in the use of the network (Internet). The IPv6 also has a plurality of advantages such as accelerated network speed, high-quality services through recognition of specific packets, packet source authentication through an expansion of headers, data integrity and improved security.
An IPv6 address auto-configuration is generally classified into a stateful address configuration and a stateless address configuration.
The stateful address configuration is a method for configuring IPv6 addresses and other pieces of configuration information according to a Dynamic Host Configuration Protocol (DHCP). Similarly to the IPv4-IPv6 address system, an IPv6 host needs a DHCP-for-IPv6 (DHCPv6) server that acquires information necessary for the stateful address configuration based on a client/server structure.
The stateless address configuration protocol is a method in which an IPv6 host required for IPv6 address configuration preferentially acquires link local addresses of routers using a neighbor discovery mechanism and multicasts a Router Solicitation (RS) message to the entire IPv6 addresses.
When the RS message is received, a router transmits the prefix of all IPv6 addresses on a Router Advertisement (RA) message to the IPv6 host, which then generates an IPv6 address by combining the acquired prefix of the IPv6 addresses and an interface identifier.
Technical details on a method in which the IPv6 host configures the IPv6 address in the IPv6 network are described in the “Request for Comments (RFC) 2462 (IPv6 Stateless Address Auto configuration).”
The “RFC 2462” describes stateless IPv6 address auto-configuration using an RA message, which is used in IPv6 protocol stacks of most operating systems.
For example, the “RFC 2462” describes a method for operating a stateful address configuration protocol or a DHCPv6 client using a flag field, that is, Managed/Other (M/O) flags of an RA message. A brief description will be given below of the “RFC 2462”.
When an RA message is received, an IPv6 host required for stateful address configuration stores M and O flag values set in the flag field of the RA message as a Managed Flag value and an OtherConfig Flag value, respectively. When the Managed Flag value changes from false (0) to true (1), the IPv6 host determines whether the DHCPv6 client is running. If the DHCPv6 client is not running, the IPv6 host acquires an IPv6 address and other pieces of configuration information from a DHCPv6 server by activating the DHCPv6 client.
In the meantime, when the Managed Flag value changes from true (1) to false (0), the IPv6 host does not affect an operation of the DHCPv6 client. In addition, when the Managed Flag value does not change, there is no change in the operation of the DHCPv6.
Likewise, when the OtherConfig Flag value changes from false (0) to true (1), the IPv6 host determines whether the DHCPv6 client is running. If the DHCPv6 client is not running, the IPv6 host acquires the other pieces of configuration information except for the IPv6 address from the DHCPv6 server by activating the DHCPv6 client. If the OtherConfig Flag value changes from true (1) to false (0) or is the same, there is no change in the operation of the DHCPv6 client.
According to the stateful address configuration protocol using the M/O flag values of the RA message, described in the “RFC 2462,” a network operator can dynamically activate the DHCPv6 client of the IPv6 host by setting the M/O flag values of the RA message.
However, when the stateful address configuration protocol has to be changed into the stateless address configuration protocol due to, for example, the overload of the DHCPv6 server, that is, when a DHCPv6 service has to be stopped or the IPv6 host moves to another network without a DHCPv6 service, there are no methods for dynamically controlling the operation of the DHCPv6 client.
For example, in a state where the stateful address configuration protocol is set as the IPv6 network (Managed Flag=true, OtherConfig Flag=true), the IPv6 host acquires an IPv6 address and other pieces of configuration information from the DHCPv6 server by activating the DHCPv6 client. Since the IPv6 host continues to run the DHCPv6 client even if the protocol of the IPv6 network changes into the stateless address configuration protocol (Managed Flag=false, OtherConfig Flag=false), resources of the IPv6 host and unnecessary DHCPv6 messages lower efficiency in terms of network bandwidth.
However, an existing operating system, such as Windows Vista® and Windows 2008® of Microsoft, operates unlike the description of the “RFC 2462.” Specifically, when the Managed Flag value changes from true (1) to false (0) or when the OtherConfig Flag value changes from true (1) to false (0) (Managed Flag=false (0)), the IPv6 host returns an assigned IPv6 address and stops running the DHCPv6 client.
While the operation of the existing operating system is based on a structure in which the IPv6 host is connected to one access network, the IPv6 host can generally access one or more access networks via one switch due to network expansion. Accordingly, the IPv6 host has a problem associated with operating the DHCPv6 client.
FIG. 1 is a block diagram illustrating a conventional IPv6 network, and
FIG. 2 is a conventional flow diagram illustrating an IPv6 address configuration method in which an IPv6 host configures an IPv6 address in the IPv6 network.
Referring to FIGS. 1 and 2, a description will be made of a network environment in which one or more IPv6 hosts 10 (10-1, 10-2, 10-3) can access a plurality of networks having different network protocols.
A first access network ISP A uses a stateful address configuration protocol, and a second access network ISP B (i.e., a local area network) uses a stateless address configuration protocol.
Since the first access network ISP A uses the stateful address configuration protocol, a first router 20-1 transmits a first RA message to the IPv6 hosts 10 via a switch 30 in step S10. In the first RA message, an M/O flag value is set to 1/x (x=don't care).
When the first RA message is received, since an M flag value is true (1), each of the IPv6 hosts 10 activates a DHCPv6 client to access a DHCPv6 server and receives IPv6 address information assigned therefrom in step S11.
The second router 20-2 is delegated with a prefix PB::/48 from the access network ISP B, and transmits a second RA message to the IPv6 hosts 10 via the switch 30 in step S12. Here, the second RA message includes prefix information PB:SLA::/64, which is used by each of the IPv6 hosts 10 to configure an IPv6 address.
Since the second access network (local area network) ISP B uses the stateless address configuration protocol, the second router 20-2 transmits the RA message by setting M/O flag values to 0/x (x=don't care) and setting prefix information in an option field.
When the second RA message is received, each of the IPv6 hosts 10 stops running the DHCPv6 client since the M flag value is zero (0) and generates an IPv6 address by combining the prefix information with an interface identifier in step S13. Here, each of the hosts 10 returns the IPv6 address, which was assigned from the DHCPv6 server.
The first router 20-1 periodically transmits the first RA message to the IPv6 hosts 10 in step S14.
When the first RA message is received, each of the IPv6 hosts 10 activates (restarts) the DHCPv6 client to receive an IPv6 address assigned again from the DHCPv6 server in step S15.
Since the first router 20-1 and the second router 20-2 periodically transmit the first RA message and the second RA message, respectively, each of the IPv6 hosts 10 receives an alternating first RA message and second RA message.
Accordingly, each of the IPv6 hosts 10 activates the DHCPv6 client to receive an IPv6 address assigned from the DHCPv6 server when the RA message with the M flag value set to one (1) is received and stops running the DHCPv6 client. Each of the IPv6 hosts 10 returns the assigned IPv6 address when the second RA message with the M flag value set to zero (0) is received. Since the alternating first RA message and second RA message are received, the IPv6 host 10 alternately performs a process of activating the DHCPv6 client to be assigned with the IPv6 address, stops running the DHCPv6 client and returns the IPv6 address.
As a result, the resources of the IPv6 host 10 are consumed and the DHCPv6 server and the network are subjected to an unnecessary load. In addition, since the IPv6 host 10 returns the IPv6 address, assigned from the DHCPv6 server of the access network using the stateful address configuration protocol, when the RA message with the M flag set to zero (0) is received, the IPv6 host 10 cannot stably access the network (Internet) through the access network using the stateful address configuration protocol.
Therefore a need exists for an apparatus and method for minimizing resources of an IPv6 host and minimizing loads in a network while processing a stateful address autoconfiguration protocol in an IPv6 host network.